#include <iostream>
using namespace std;

int value = 0;

int &my_add(const int &x, const int &y){
    // 不能返回局部变量的引用!!!
    //int temp = 0;
    //temp = x + y;
    //return temp;

    // 可以返回全局变量的引用 也可以返回static修饰的局部变量的引用
    value = x + y;
    return value;
}

int main(int argc, const char *argv[]){
    int a = 100;
    int b = 200;
    int ret1 = my_add(a, b);
    cout << ret1 << endl; // 300

    my_add(a, b) = 123;
    cout << value << endl; // 123
    return 0;
}